package jsd2302.src.io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/** IO:Input和Output,即：输入与输出
 *
 * Java将输入与输出永"流Stream"表达，分为输入流和输出流
 * 我们可以将他们想象成连接我们的成雪和另一个设备之间的管道，通过他们可以读写设备
 * Java将输入流和输出流定义了两个对应的超类InputStream和OutputStream：
 * InputStream：
 * 输入流：方向是从外界到程序的方向，用于读取数据的流，是一个抽象类，定义了读取字节的相关方法
 * OutputStream：
 * 输出流：方向是从程序到外界的方向，用于写出数据的流，是一个抽象类，定义了写出字节的相关方法
 *
 * 文件流：FileInputStream和FileOutputStream
 * 文件流继承自InputStream和OutputStream，用于对文件进行读写操作
 * */
public class FOSDemo {
    public static void main(String[] args) throws IOException {
        /*
        文件输出流两个常用的构造器：
        FileOutputStream（String name）
        FileOutputStream（File file）
        文件创建是如果指定的文件不存在则会自动创建，前提是该文件所在的目录必须存在，若不存在则发生异常
         */

        //File file=new File("fos.dat");
        //定义了一个文件输出流
        //FileOutputStream fos=new FileOutputStream("fos.dat");
        /*
        OutputStream是所有字节输出流的超类
         */

        //向fos.abc中写入一个字节
        //fos.write(1);
        //向fos.abc中再写入一个字节
        //fos.write(2);
        //fos.write(-1);
        //fos.write(255);
        //fos.write(256);
        //System.out.println("写出完毕！");

        //fos.close();//关闭流
        File file=new File("fos.txt");
        FileOutputStream fos=new FileOutputStream("fos.txt");
        fos.write(25);
        System.out.println("写入成功");
        fos.close();
    }
}
